package com.holyant.goods.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.domain.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * 商品组合售卖明细dto
 * 
 * @author fkmalls
 * @date 2022-08-22
 */
@Data
@ApiModel("商品组合售卖明细")
public class GdsGoodsGroupItemDto extends BaseDto {

    private static final long serialVersionUID = 1L;

    /** 商品组合表gds_goods_group id主键 */
    @Excel(name = "商品组合表gds_goods_group id主键")
    @ApiModelProperty(value = "商品组合表gds_goods_group id主键")
    private Long goodsGroupId;

    /** 数量 */
    @Excel(name = "数量")
    @ApiModelProperty(value = "数量")
    private Integer qty;
    /** 权重 */
    @Excel(name = "权重")
    @ApiModelProperty(value = "权重")
    private BigDecimal weight;

    /** 商品gds_sku id主键 */
    @Excel(name = "商品gds_sku id主键")
    @ApiModelProperty(value = "商品gds_sku id主键")
    private Long skuId;

    //实时或取的sku信息
    /** sku编号 */
    @Excel(name = "sku编号")
    @ApiModelProperty(value = "sku编号")
    private String skuCode;

    /** sku名称 */
    @Excel(name = "sku名称")
    @ApiModelProperty(value = "sku名称")
    private String skuName;

    /** 商品条码 */
    @Excel(name = "商品条码")
    @ApiModelProperty(value = "商品条码")
    private String goodsBarcode;

    /** 状态  0 正常 1 停用 */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    @ApiModelProperty(value = "状态  0 正常 1 停用")
    private String status;

    /** 失效日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "失效日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "失效日期")
    private LocalDate expireDate;

    /** 所属分类名称 */
    @Excel(name = "所属分类")
    @ApiModelProperty(value = "所属分类名称")
    private String categoryName;

    /** 品牌名称 */
    @Excel(name = "品牌名称")
    @ApiModelProperty(value = "品牌名称")
    private String brandName;

    @ApiModelProperty(value = "虚拟库存")
    private BigDecimal sourceInventory; //原始库存,从库存服务获取多少就显示多少, 加这个字段便于排查获取库存的问题

}
